package com.tmt.annotation;

import java.lang.annotation.*;
import java.util.Map;

/**
 * Created by ThreeManTeam on 2017/4/27.
 */

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Select2OptionItem {
	int order() default 0;


	/**
	 * 为false时，忽略本注释注解的属性。
	 * @return
	 */
	boolean display() default true;

	/**
	 * 信息显示模版，采用String.format格式化: String.format(displayFormat, ?)
	 * @return
	 */
	String displayFormat() default "";

	/**
	 * 如果标记在非基本类型的属性对象上，则本属性指定了将该属性对象的某个属性值作为本项的值。
	 * 当且仅当idProp查询参数不等于‘id’时，如果标记在基本类型的属性对象上，则本属性指定了将当前对象的某个属性值作为本项的值。
	 * @return
	 */
	String propName() default "";

	/**
	 * displayLabel == true, 显示为 {label} : String.format(displayFormat, ?)； 反之，显示：String.format(displayFormat, ?)
	 * @return
	 */
	String label() default "";

	/**
	 * 为true时，显示为 {displayLabel} : String.format(displayFormat, ?)； 反之，显示：String.format(displayFormat, ?)
	 * @return
	 */
	boolean displayLabel() default false;

	/**
	 * 布尔量转换值。数组中第一个项是true对应的文字，第二个是false对应的文字。
	 * @return
	 */
	String[] booleanConverter() default {};
}
